Typical computer systems, especially computer systems having graphical user interface (GUI) systems, such as a WINDOWS® operating system available from Microsoft Corporation of Redmond, Wash., are optimized for accepting user input from one or more discrete input devices, such as a keyboard for entering text, and a pointing device, such as a mouse with one or more buttons, for operating the user interface. The ubiquitous keyboard and mouse interface provides for fast creation and modification of documents, spreadsheets, database fields, drawings, photos, and the like.
Recently, however, pen-based computing systems (also called “stylus-based computing systems” or “tablet PCs” in this specification) have become increasingly popular. At least some of these systems have eliminated the need for the traditional keyboard and mouse interface by allowing users to input all data into the system, including all data used to control the interface (e.g., tasks typically performed using the mouse in a conventional interface), using an electronic pen (also called a “stylus” in this specification).
While using only a pen to input data into a computer may sound somewhat restrictive, in practice, systems and methods have been developed that allow users great flexibility in interacting with pen-based computing systems using only the pen as an input device. For example, the pen may be equipped with one or more buttons or other features to augment its capabilities. As a more specific example, one or more buttons may be provided on the pen to mimic and/or activate the functions of the left and right buttons of a conventional mouse. As another example, the pen may be implemented as a typical “pencil” or “pen” in which one end constitutes a writing element (that adds electronic ink to an electronic document) and the other end constitutes an “eraser” end that, when moved across the digitizer screen, indicates portions of the display to be erased. Features such as these have greatly increased the flexibility and acceptability of modern pen-based computing systems.
For some users, however, one or more buttons on an electronic pen to mimic and/or activate the functions of a mouse's left and/or right buttons can be difficult to use. For example, the pen's buttons typically are small and may be difficult for some users to locate and/or accurately activate. Additionally, the presence of the buttons in some instances may result in inadvertent and undesired activation of a button and its associated functions, which can interrupt and adversely impact the desired input data flow. As another factor, the inclusion of one or more buttons on an electronic pen adds additional hardware to the system that may become damaged or inoperative by accident and/or through normal wear-and-tear. These factors can lead to substantial frustration and costs for pen-based computer users.
Because of the various difficulties described above, some pen-based computing systems avoid the use of buttons on the pen by allowing the pen to activate and access the functions of the left and right mouse buttons in different ways. As an example, in some pen-based computing systems, simply tapping or placing the pen tip on or near the digitizer screen is used to activate or access the conventional left mouse button functions. In some such systems, tapping on an electronic document with the pen can be used to mimic a left mouse button click to place the cursor at that location in the document, and tapping on a user interface element (such as a toolbar item) can be used to mimic a left mouse button click to allow performance of the function(s) associated with that interface element (e.g., to activate a pull down menu, to switch documents or applications, to activate and/or perform a specific function, etc.). Holding the pen slightly above the digitizer surface without touching it (also known as a “hover” action because the pen “hovers” above the digitizer surface) can be used, in at least some pen-based computing systems, to function in the same manner as moving a mouse on a conventional user interface without clicking a button, which may result, for example, in display of a shadow cursor, in a change in appearance of information directly under the pen tip, in display of additional information associated with the information directly under the pen tip, or the like.
In some systems of this type, the functions of a mouse button “right click” can be activated or accessed using only a pen by pressing the pen tip onto the digitizer screen and/or hovering the pen tip slightly above the digitizer screen and then holding it in place for a predetermined amount of time. This action (also called a “press-and-hold” in this specification) may be used, in at least some pen-based computing systems, to activate or access the functions associated with a conventional right button click on a conventional mouse (e.g., display of a drop down menu with various available functions, etc.).
A press-and-hold action, however, also can be difficult for some users to perform because it can be difficult, for at least some, to hold a pen perfectly steady for a predetermined time period (in some systems, about one second). To remedy this problem, some pen-based computing systems determine whether a press-and-hold action is intended by determining whether the pen stays within a relatively small predetermined space (e.g., 8×8 digitizer pixels) for the duration of a press-and-hold determination time (e.g., 750 to 1000 ms in some examples). FIG. 1 illustrates an example of this situation. If, after bringing the pen tip 10 to the digitizer surface 12, the pen tip 10 remains within a predetermined area 14 surrounding its initial contact point for a predetermined time, the gesture is considered to be a press-and-hold gesture, and it is processed in this manner. If, at any time during the press-and-hold determination time, the pen tip 10 strays outside the predetermined area 14, the gesture is determined to not constitute a press-and-hold.
While the above procedure allows users to more easily activate or access functions of a right mouse button click using only a pen in a pen-based computing system, there are some difficulties associated with this procedure as well. For example, if the predetermined press-and-hold area 14 is defined too small (see FIG. 2), it is easy for the pen tip 10 to inadvertently drift outside the predetermined area 14 (particularly for some users), shown at reference number 16, resulting in non-activation of press-and-hold processing. This feature can make it difficult for some users to activate press-and-hold processing. On the other hand, if the predetermined area 14 is defined too large (e.g., see FIG. 1), press-and-hold processing may be activated too easily, and at some times when it is not intended. For example, an attempt to draw a small stroke (such as a bullet point and the like) or make a small block selection or scratch out of a small area, may be inadvertently interpreted as an attempt to activate or access a press-and-hold action, resulting in undesired firing of press-and-hold processing. Both of these situations can adversely affect data input, resulting in errors and/or user frustration.
Accordingly, at least some aspects of the present invention seek to overcome the various difficulties identified above and to make press-and-hold processing easier, quicker, and more reliable to activate.